package com.easy.query.test.kingbase;

import com.easy.query.api.proxy.client.DefaultEasyEntityQuery;
import com.easy.query.core.api.client.EasyQueryClient;
import com.easy.query.core.basic.api.database.CodeFirstCommand;
import com.easy.query.core.basic.api.database.DatabaseCodeFirst;
import com.easy.query.core.basic.extension.listener.JdbcExecuteAfterArg;
import com.easy.query.core.basic.extension.listener.JdbcExecutorListener;
import com.easy.query.core.bootstrapper.EasyQueryBootstrapper;
import com.easy.query.core.logging.LogFactory;
import com.easy.query.core.util.EasySQLUtil;
import com.easy.query.kingbase.es.config.KingbaseESDatabaseConfiguration;
import com.easy.query.mysql.config.MySQLDatabaseConfiguration;
import com.easy.query.test.entity.school.SchoolClass;
import com.easy.query.test.entity.school.SchoolStudentAddress;
import com.easy.query.test.listener.ListenerContext;
import com.easy.query.test.listener.ListenerContextManager;
import com.easy.query.test.listener.MyJdbcListener;
import com.easy.query.test.mysql8.entity.M8Child;
import com.easy.query.test.mysql8.entity.M8Parent;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.Assert;
import org.junit.Test;

import java.util.Arrays;
import java.util.List;

/**
 * create time 2025/5/7 16:10
 * 文件说明
 *
 * @author xuejiaming
 */
public class MyKingbaseESTest {
    @Test
    public void testaa(){
        LogFactory.useStdOutLogging();
        ListenerContextManager listenerContextManager = new ListenerContextManager();
        MyJdbcListener myJdbcListener = new MyJdbcListener(listenerContextManager);
        {

            HikariDataSource dataSource = new HikariDataSource();
            dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3316/easy-query-test?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true");
            dataSource.setUsername("root");
            dataSource.setPassword("root");
            dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
            dataSource.setMaximumPoolSize(20);

            EasyQueryClient easyQueryClient = EasyQueryBootstrapper.defaultBuilderConfiguration()
                    .setDefaultDataSource(dataSource)
                    .optionConfigure(op -> {
                        op.setPrintSql(true);
                        op.setRelationGroupSize(1512);
                    })
                    .replaceService(JdbcExecutorListener.class, myJdbcListener)
                    .useDatabaseConfigure(new MySQLDatabaseConfiguration())
//                .replaceService(BeanValueCaller.class, ReflectBeanValueCaller.class)
                    .build();
            DefaultEasyEntityQuery entityQuery = new DefaultEasyEntityQuery(easyQueryClient);
            DatabaseCodeFirst databaseCodeFirst = entityQuery.getDatabaseCodeFirst();
            databaseCodeFirst.createDatabaseIfNotExists();
            CodeFirstCommand codeFirstCommand = databaseCodeFirst.syncTableCommand(Arrays.asList(HelpEduSubjectEntity.class, HelpEduVideoEntity.class, HelpCategoryAndSubjectEntity.class));
            codeFirstCommand.executeWithTransaction(s->s.commit());
//


            ListenerContext listenerContext = new ListenerContext(true);
            listenerContextManager.startListen(listenerContext);
            System.out.println("------------------");
//                easyQueryClient.queryable(SchoolClass.class)
//                        .where(s -> s.sqlNativeSegment())

            List<HelpEduSubjectEntity> list = entityQuery.queryable(HelpEduSubjectEntity.class).includes(h -> h.helpEduVideoList())
                    .toList();
            for (HelpEduSubjectEntity helpEduSubjectEntity : list) {
                Integer firstOrder = null;
                for (HelpEduVideoEntity helpEduVideoEntity : helpEduSubjectEntity.getHelpEduVideoList()) {
                    if (firstOrder == null) {
                        firstOrder = helpEduVideoEntity.getOrderBy();
                    }
                    Assert.assertTrue(firstOrder <= helpEduVideoEntity.getOrderBy());
                    firstOrder = helpEduVideoEntity.getOrderBy();
                }
            }
            System.out.println("------------------");
            Assert.assertNotNull(listenerContext.getJdbcExecuteAfterArgs());
            Assert.assertEquals(3, listenerContext.getJdbcExecuteAfterArgs().size());

            {

                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(0);
//                    Assert.assertEquals("SELECT `id` FROM `school_class`", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("SELECT `id`,`create_time`,`update_time`,`create_by`,`update_by`,`deleted`,`delete_by`,`delete_time`,`name`,`order_by` FROM `help_edu_subject`", jdbcExecuteAfterArg.getBeforeArg().getSql());
            }
            {
                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(1);
                Assert.assertEquals("SELECT `subject_id`,`context_id` FROM `help_category_and_subject` WHERE `subject_id` IN (?,?,?)", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("1094971186229739525(String),1097211886191181829(String),1102206513981882373(String)", EasySQLUtil.sqlParameterToString(jdbcExecuteAfterArg.getBeforeArg().getSqlParameters().get(0)));
            }
            {
                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(2);
                Assert.assertEquals("SELECT t.`id`,t.`create_time`,t.`update_time`,t.`create_by`,t.`update_by`,t.`deleted`,t.`delete_by`,t.`delete_time`,t.`order_by` FROM `help_edu_video` t WHERE t.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ORDER BY t.`order_by` ASC", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("1041712179839172613(String),1041712459616026629(String),1041712700574597125(String),1042076833434238981(String),1042076426825826309(String),1042078193902878725(String),1042078542562787333(String),1042078834196938757(String),1042079891790692357(String),1042080178869829637(String),1042103581941104645(String),1042103857787895813(String),1042104178551488517(String),1042104481942274053(String),1042104777674260485(String),1042106067624067077(String),1042105448410578949(String),1042105817425444869(String),1042106347551916037(String),1042106584953716741(String),1042107082222010373(String),1042106826876977157(String),1048218836505133061(String),1048218982177505285(String),1048213877042642949(String),1048216349438050309(String),1048217346461859845(String),1048217569166819333(String),1048220600608423941(String),1048216521488400389(String),1048217161979592709(String),1048220316519825413(String),1048218247406747653(String),1048214395383119877(String),1048220453921030149(String),1048214618868219909(String),1048213469142384645(String),1048214211207036933(String),1048219426387853317(String),1048219600631824389(String),1048219760371892229(String),1048219908577624069(String),1048220159233425413(String),1048221040997761029(String),1041742567370326021(String),1041711552635535365(String),1041742825051586565(String),1041711285483536389(String),1041711810505539589(String),1048213086265344005(String),1048212928450461701(String),1048212579190767621(String),1048212222679121925(String),1048212762842562565(String),1041753511538393093(String),1041710094468972549(String),1041710726894518277(String),1041754047956320261(String),1041755137573584901(String),1041755766345891845(String),1041756046227603461(String),1041755475252805637(String),1041754346720788485(String),1041754744303058949(String),1041710458849132549(String),1046503793673568261(String),1046503940419682309(String),1046504430486355973(String),1046505170520965125(String),1046505317522931717(String),1046504571247198213(String),1046504236269109253(String),1046504882909151237(String),1046505020541042693(String),1046504733986193413(String),1046504093868294149(String),1041709663378407429(String),1041709402639499269(String),1042073448685436933(String),1042073971530596357(String),1042074208303251461(String),1042072230080741381(String),1042072504790876165(String),1042073732904058885(String),1042074430072881157(String),1042073141372977157(String),1042075319919640581(String),1042074713972736005(String),1042074985302261765(String),1042075580390113285(String),1042072758839869445(String),1042071914631331845(String),1041709155464970245(String),1046502144913637381(String),1046502281975103493(String),1046501454380204037(String),1046502596673732613(String),1046500748264931333(String),1046503537326096389(String),1046500895476613125(String),1046501693874962437(String),1046501856626540549(String),1046502009873825797(String),1046501069531840517(String),1046502748528508933(String),1046502888731508741(String),1046503204310941701(String),1046503373584662533(String),1046502445968195589(String),1046503025218355205(String),1041708089625214981(String),1041708629360836613(String),1041708347197423621(String),1041769190261981189(String),1041770127483404293(String),1041768542271373317(String),1041769772917915653(String),1041770769845256197(String),1041769484270108677(String),1041770495973982213(String),1046500486439698437(String),1046499438513815557(String),1046499729057447941(String),1046499993806110725(String),1046499096946475013(String),1046499590423117829(String),1046500333129498629(String),1046500148307492869(String),1046499231533301765(String),1046499864210505733(String),1041707397544083461(String),1041707670618439685(String),1042071144942993413(String),1042067703394926597(String),1042068004977967109(String),1042068390052823045(String),1042068658446336005(String),1042068934892912645(String),1042069178611335173(String),1042070922724573189(String),1042069455976464389(String),1041707107126280197(String),1046497880266964997(String),1046496944572268549(String),1046497708044648453(String),1046493019555168261(String),1046497264480223237(String),1046497403877916677(String),1046498019673047045(String),1046498155337809925(String),1046498288343384069(String),1046497559465623557(String),1046498442052042757(String),1046497114496106501(String),1041034762954932229(String),1041048825671909381(String),1041049353126608901(String),1041065326302920709(String),1041039168937066501(String),1041041048048173061(String),1041041666947088389(String),1041061920783925253(String),1041062757283332101(String),1041063311237644293(String),1041064068171104261(String),1041064529817174021(String),1041065700430643205(String),1041064975432613893(String),1041053584525033477(String),1041063679765970949(String),1041031756842729477(String),1041050442341220357(String),1040961368473403397(String),1041751379003244549(String),1041751210882957317(String),1041750994385567749(String),1041750499105374213(String),1041750776361451525(String),1041766066432442373(String),1041764704739065861(String),1041765177986580485(String),1041765835682807813(String),1041757518449278981(String),1041766355956858885(String),1041766992652206085(String),1041767239356973061(String),1041768072970698757(String),1041767423516278789(String),1041767620749230085(String),1041764241121673221(String),1041767821534756869(String),1041766694315556869(String),1040250094034812933(String),1041070056152432645(String),1041069243619278853(String),1041067672881790981(String),1041071008506904581(String),1041068253767729157(String),1041070350403829765(String),1041071535433121797(String),1041071822310932485(String),1041076476260319237(String),1041076806171688965(String),1041069676102352901(String),1041067363841277957(String),1041077109533114373(String),1041078308462329861(String),1041078891294425093(String),1041080160440483845(String),1041080658388254725(String),1041081059204333573(String),1041081420606537733(String),1041081820357263365(String),1041082133734686725(String),1041082453604892677(String),1041077895986085893(String),1041077454619475973(String),1041311615762497541(String),1041312524324241413(String),1041312839459078149(String),1041313230951219205(String),1041313954372190213(String),1041314647602561029(String),1041315061286764549(String),1041315429844451333(String),1041315821286260741(String),1041348394838327301(String),1041314286959525893(String),1041316274770214917(String),1041328376914313221(String),1041328711061929989(String),1041329400685199365(String),1041330485709701125(String),1041330865998856197(String),1041331327909167109(String),1041331702724755461(String),1041345086652350469(String),1041345951186485253(String),1041347494921043973(String),1041347782998425605(String),1041348105225830405(String),1041349740949864453(String),1041350263845355525(String),1041068701220274181(String),1041310741497577477(String),1041066887284457477(String),1041311203735044101(String),1041312105548152837(String),1040247175210270725(String),1040248946414518277(String),1040249449147990021(String),1040249836038979589(String),1041752532675919877(String),1041751732138475525(String),1042399583961022469(String),1042168914295062533(String),1042169773108166661(String),1042398257411719173(String),1042167833716523013(String),1042399245287751685(String),1042399404629360645(String),1042399940644634629(String),1042398669216874501(String),1042399087951020037(String),1042398477289717765(String),1042399759538782213(String),1042400707594092549(String),1042400914809487365(String),1042401751652827141(String),1042401928161722373(String),1042402103273914373(String),1042402278755205125(String),1042402464382517253(String),1042402638639071237(String),1042402876779069445(String),1042403040319176709(String),1042403568356884485(String),1042404046977302533(String),1042404222022385669(String),1042403875061170181(String),1042404446136631301(String),1042404591901278213(String),1042404764090040325(String),1042404923326791685(String),1042405133104906245(String),1042405288998797317(String),1042405455072264197(String),1042406515790774277(String),1042411510799990789(String),1042411702269968389(String),1042411850043686917(String),1042411024403333125(String),1042412003240640517(String),1042412174326300677(String),1042415266102968325(String),1042405665290780677(String),1042406321930043397(String),1042406760419360773(String),1042411202719973381(String),1042411358521589765(String),1042413331136315397(String),1042415519715753989(String),1042413528943886341(String),1042413671629914117(String),1042415103099731973(String),1042166653057695749(String),1042168058338279429(String),1042403723151867909(String),1041354251370168325(String),1041382407229603845(String),1041381405998907397(String),1041383185583374341(String),1041381045909520389(String),1041381737298591749(String),1041383759703900165(String),1041382838123036677(String),1041383479457284101(String),1041382057030385669(String),1048200878810660869(String),1048201034532585477(String),1048204351732121605(String),1048204519877574661(String),1048205125702844421(String),1048205268216905733(String),1048200722606391301(String),1048200390925025285(String),1048199943799635973(String),1048200147596673029(String),1041385188199956485(String),1041386536131821573(String),1041385916331130885(String),1041386857952378885(String),1041387505074765829(String),1041388047960309765(String),1041388402492243973(String),1041387151620767749(String),1041389369598083077(String),1041743436031655941(String),1041745728076185605(String),1041743709550608389(String),1041744126145658885(String),1041744394933436421(String),1041744651083776005(String),1041744929489092613(String),1041746303178178565(String),1048206236295823365(String),1048207406351450117(String),1048207724153864197(String),1048207893951873029(String),1048208039854931973(String),1048208222953078789(String),1048211313970577413(String),1048207565550452741(String),1048208390796541957(String),1048209043799343109(String),1048209202738298885(String),1048209364420329477(String),1048210961514823685(String),1048211154863849477(String),1048211466320281605(String),1048211602026987525(String),1048207241175564293(String),1041679779503472645(String),1041680365942669317(String),1041677674633953285(String),1041747903544229893(String),1041748189570596869(String),1041748739661955077(String),1041749298339053573(String),1041748467086721029(String),1041747277959593989(String),1041747610442072069(String),1041749006281277445(String),1041749928159936517(String),1041679459545186309(String),1041680054129721349(String),1046390996709081093(String),1046391211499388933(String),1046391373764427781(String),1046389756885401605(String),1046390398194483205(String),1046390772724858885(String),1046390594844426245(String),1046391549455433733(String),1046391855782232069(String),1046391998338236421(String),1046392589340835845(String),1046391699590545413(String),1046392165766463493(String),1046392410499907589(String),1041685667610034181(String),1041684260010000389(String),1041685994585391109(String),1041685022530273285(String),1041775002099318789(String),1041777532787163141(String),1041772226329903109(String),1041773083297513477(String),1041775349492547589(String),1041778300852305925(String),1041776874541481989(String),1041774273649377285(String),1041777817458769925(String),1041778929033216005(String),1041782897457168389(String),1041785720223760389(String),1041773484604325893(String),1041773805929955333(String),1041776037974966277(String),1041776379689107461(String),1041772531901726725(String),1041772815256322053(String),1041775718226395141(String),1041782568925724677(String),1041783326047928325(String),1041784491259133957(String),1041785123483353093(String),1041785392908664837(String),1041786054019055621(String),1041778626808446981(String),1041784052019036165(String),1041783655724417029(String),1041784811230003205(String),1041786496748814341(String),1041786792153645061(String),1041787094818816005(String),1041787406426243077(String),1041787940335976453(String),1041788546555510789(String),1041794720487112709(String),1041795009218805765(String),1041795266996535301(String),1041795604952580101(String),1041795985946378245(String),1041797373157900293(String),1041797761386872837(String),1041799466237231109(String),1041799825999462405(String),1041800123170095109(String),1041806030457208837(String),1041806344258256901(String),1041685324792791045(String),1046399653240832005(String),1046400913620795397(String),1046401692331081733(String),1046407120968417285(String),1046407274119233541(String),1046407418034192389(String),1046408771376709637(String),1046399252777074693(String),1046399480708136965(String),1046400048419766277(String),1046400557784432645(String),1046399014637076485(String),1046400713279864837(String),1046399823663792133(String),1046400363072258053(String),1046401093971673093(String),1046401331134398469(String),1046401542699286533(String),1046403361764737029(String),1046404090889961477(String),1046404344540495877(String),1046404506746814469(String),1046408971369512965(String),1046402371984490501(String),1046402534589267973(String),1046402697663807493(String),1046402890077503493(String),1046403181543882757(String),1046404773131255813(String),1046404942690189317(String),1046401868269551621(String),1046402023223918597(String),1046402192422141957(String),1046403504547233797(String),1046403668473217029(String),1046403811352182789(String),1046403949902626821(String),1046405136525754373(String),1046405277953490949(String),1046405412800364549(String),1046405884441460741(String),1046406167053664261(String),1046409101116112901(String),1046409249649000453(String),1046405577938501637(String),1046405737007480837(String),1046406033234395141(String),1046406314932240389(String),1046406563054682117(String),1046409401415696389(String),1046398647593533445(String),1046398859636572165(String),1041683202030370821(String),1041681890278572037(String),1041682195779092485(String),1041683508080345093(String),1042036292663312389(String),1042036581000740869(String),1042036881417764869(String),1042037195109761029(String),1042037490220990469(String),1042037744190291973(String),1042038013930176517(String),1041682481809653765(String),1041682924749127685(String),1046395405656588293(String),1046395660208898053(String),1046395814446039045(String),1046395967001264133(String),1046396128922370053(String),1046396549564923909(String),1046396377233555461(String),1046396734890246149(String),1046396926637047813(String),1046397826034237445(String),1046395242540105733(String),1046393261998145541(String),1046393010314739717(String),1041686882657959941(String),1041687228046311429(String),1041690541777158149(String),1042149082359070725(String),1042149296230825989(String),1042150032134045701(String),1042150288083058693(String),1042150787612082181(String),1042151080387084293(String),1042152072943960069(String),1042151788138135557(String),1042149532038791173(String),1042154687446581253(String),1042156148142309381(String),1042150535983202309(String),1042151321324683269(String),1042153152968851461(String),1042153470360223749(String),1042153907700301829(String),1042149790508580869(String),1042152330612637701(String),1042152917899083781(String),1042155088749199365(String),1042155345100865541(String),1042152586091888645(String),1042154149845860357(String),1042154445493960709(String),1042155772047458309(String),1042156482893905925(String),1042156779854823429(String),1042157196626034693(String),1042157835087183877(String),1042158149659983877(String),1042158448667721733(String),1042158712401362949(String),1042158928701620229(String),1042159168385122309(String),1042159405854031877(String),1042159615451791365(String),1042159853419823109(String),1042161405710761989(String),1042160079975153669(String),1042161153645674501(String),1042162715491237893(String),1042160652719947781(String),1042160899739287557(String),1042161659722006533(String),1042161936185360389(String),1042162199860281349(String),1042162427409661957(String),1042151556717412357(String),1041686533008195589(String),1046419703809114117(String),1046412230683459589(String),1046410326469443589(String),1046410687468994565(String),1046410849805336581(String),1046410998422110213(String),1046411457144750085(String),1046412386552184837(String),1046410519545839621(String),1046411145101115397(String),1046411280514220037(String),1046409820959342597(String),1046411723797626885(String),1046410006871867397(String),1046411882979852293(String),1046412028580921349(String),1046412549375066117(String),1046412705818411013(String),1046412870465814533(String),1046413021246849029(String),1046413182840799237(String),1046413315724738565(String),1046413605123325957(String),1046413763252781061(String),1046413929372385285(String),1046414074327531525(String),1046414238932992005(String),1046414376392916997(String),1046415325811376133(String),1046415467092312069(String),1046415733090877445(String),1046419865608585221(String),1046420029266132997(String),1046420541533257733(String),1046420679467139077(String),1046421125028052997(String),1046421259505827845(String),1046414850403794949(String),1046419564713410565(String),1046421607314292741(String),1046415006872305669(String),1046420958577098757(String),1046421404741992453(String),1046415174522830853(String),1046415601993711621(String),1046420185076137989(String),1046420335165112325(String),1046415873981743109(String),1046416998445285381(String),1046417136723099653(String),1046419384542887941(String),1046414530860744709(String),1046414699589206021(String),1041692228495540229(String),1041691838408491013(String),1041691080812331013(String),1041692543273861125(String),1042136622113685509(String),1042137178039320581(String),1042137446307004421(String),1042139661570605061(String),1042135830010986501(String),1042136342466854917(String),1042139916013862917(String),1042140263600029701(String),1042140523407802373(String),1042141128201273349(String),1042141395378438149(String),1042141625100468229(String),1042136898996469765(String),1042140768707477509(String),1042141899391172613(String),1042142510346076165(String),1042142767800844293(String),1042143047611252741(String),1042143288225890309(String),1042143581852336133(String),1042143804020424709(String),1042144062607654917(String),1042144311451516933(String),1042144555627118597(String),1042144783600123909(String),1042145130603282437(String),1042145393703583749(String),1042145630350409733(String),1042146186729029637(String),1042147863007789061(String),1042146748145008645(String),1042147335284654085(String),1042148463892168709(String),1042147078849101829(String),1042147593947381765(String),1046425623993712645(String),1046467203031040005(String),1046469281904263173(String),1046469742279458821(String),1046452434450448389(String),1046465488345038853(String),1046422035292684293(String),1046422239102304261(String),1046421883827978245(String),1046425474609381381(String),1046426649110970373(String),1046426781504176133(String),1046423982879997957(String),1046424132297883653(String),1046425809189011461(String),1046425926348505093(String),1046426073107202053(String),1046426223716270085(String),1046426367702532101(String),1046426511541993477(String),1046466347669848069(String),1046466603614666757(String),1046466740898430981(String),1046466901187952645(String),1046467362385231877(String),1046467522171437061(String),1046467681479491589(String),1046468288693075973(String),1046468432410902533(String),1046468593883217925(String),1046467836098314245(String),1046467999814582277(String),1046468149190524933(String),1046468748007112709(String),1046469006330101765(String),1046469147267104773(String),1046469436141404165(String),1046469598238670853(String),1046469884306980869(String),1041694730305601541(String),1041695012875862021(String),1042124531315179525(String),1042125311212453893(String),1042124297377873925(String),1042124847729278981(String),1042125655963271173(String),1042127449141477381(String),1042127712111755269(String),1042128328250818565(String),1042128592387112965(String),1042128977214504965(String),1042129347894509573(String),1042129605659656197(String),1042129838984593413(String),1042130098230329349(String),1042130358860185605(String),1042130638771257349(String),1042130973346693125(String),1042131266335604741(String),1042131593654894597(String),1042131990222143493(String),1042132212344094725(String),1042132687701344261(String),1042133747887177733(String),1042133940674166789(String),1042134282916790277(String),1042134547761922053(String),1042134792604418053(String),1042135313239179269(String),1042135013526798341(String),1042124007299809285(String),1041693147454963717(String),1042128015166996485(String),1046474187843239941(String),1046471884809633797(String),1046474026656137221(String),1046471743755190277(String),1046473103024259077(String),1046473861052432389(String),1046473412333207557(String),1046472184475877381(String),1046472345822363653(String),1046472914775506949(String),1046473241704726533(String),1046473671524417541(String),1046472684218810373(String),1046475591936835589(String),1046475898460766213(String),1046476210043027461(String),1046476355396632581(String),1046475304471822341(String),1046470825512992773(String),1046470387216613381(String),1046474505188474885(String),1046474679377920005(String),1046474836471382021(String),1046476963222585349(String),1046474989097910277(String),1046475144949858309(String),1046475455160582149(String),1046475750242451461(String),1046476049967415301(String),1046476818972082181(String),1046476499026378757(String),1046476656082092037(String),1046472036572135429(String),1041696075590860805(String),1041695437154877445(String),1042116888848695301(String),1042107856788324357(String),1042108134480609285(String),1042108361597976581(String),1042108595065520133(String),1042108831624265733(String),1042109345153875973(String),1042109559763828741(String),1042110372879990789(String),1042110678078521349(String),1042111222675341317(String),1042111713765425157(String),1042112117920169989(String),1042112536759173125(String),1042112831031541765(String),1042113231977644037(String),1042113482943823877(String),1042113717325725701(String),1042114071840882693(String),1042114367027609605(String),1042115078301876229(String),1042115302906855429(String),1042115641299107845(String),1042115910397263877(String),1042120145918689285(String),1042114624163610629(String),1042114860684607493(String),1042116416620396549(String),1042119165718233093(String),1042119449517424645(String),1042119695161032709(String),1042119912644083717(String),1042121114077298693(String),1042121363869073413(String),1042116659499958277(String),1042117368685461509(String),1042117656884477957(String),1042117884438052869(String),1042118123215585285(String),1042118360856461317(String),1042118629073813509(String),1042118894166409221(String),1042120419617996805(String),1042120694932111365(String),1042121609021947909(String),1042121845618442245(String),1041695760086925317(String),1042109068875071493(String),1042109851548975109(String),1046512949524627461(String),1046507565296582661(String),1046507722280992773(String),1046508276277248005(String),1046508453465620485(String),1046509821454647301(String),1046510209763311621(String),1046511814411747333(String),1046511964077096965(String),1046512114535170053(String),1046512769593180165(String),1046507388561195013(String),1046510659405283333(String),1046511665933385733(String),1046507879215071237(String),1046513273375227909(String),1046516422248955909(String),1046517183213142021(String),1046746919059259397(String),1046747611912142853(String),1046751550925635589(String),1046752357339299845(String),1046752849918361605(String),1046753150696095749(String),1046753566091575301(String),1046753934556987397(String),1046513500731670533(String),1046514450800246789(String),1046514755206053893(String),1046516167252049925(String),1046517647178661893(String),1046747764920352773(String),1046748251103100933(String),1046748426714415109(String),1046748597946875909(String),1046754617804914693(String),1046516634161971205(String),1046516879360983045(String),1046517360133079045(String),1046517497660112901(String),1046747949679443973(String),1046748818047172613(String),1046749973263351813(String),1046752202137468933(String),1046752711032373253(String),1046753009247387653(String),1046753415348289541(String),1046753799848525829(String),1046754473013346309(String),1046754312165982213(String),1046517032604073989(String),1046508019506151429(String),1041697783633084421(String),1041698048910229509(String),1042039999631130629(String),1042039541374058501(String),1042044431718612997(String),1042045065381478405(String),1042040305307811845(String),1042040648380907525(String),1042041117786439685(String),1042044102100844549(String),1042044773998985221(String),1042046943150407685(String),1042047227977203717(String),1042048609182482437(String),1042048990054645765(String),1042050352008069125(String),1042050701116768261(String),1042045369619513349(String),1042048064585662469(String),1042048347315306501(String),1042039194043744261(String),1041697539356819461(String),1042051045284577285(String),1046478191088304133(String),1046478351205859333(String),1046479077583814661(String),1046479389300293637(String),1046479533424967685(String),1046479664408887301(String),1046479814401392645(String),1046479988653752325(String),1046480167297548293(String),1046480351154864133(String),1046478917638225925(String),1046480496701407237(String),1046480827405500421(String),1046481298446811141(String),1046481897733160965(String),1046480680248344581(String),1046482041971081221(String),1046481150224302085(String),1046481583428796421(String),1046481736499920901(String),1046479229245652997(String),1046480989385326597(String),1046478498769862661(String),1041696822487351301(String),1041697088829849605(String),1042052076953337861(String),1042052422463324165(String),1042055138258386949(String),1042055723485429765(String),1042052966300975109(String),1042051700028014597(String),1042053903757279237(String),1042052705419460613(String),1042053303804035077(String),1042054195764723717(String),1042054448643506181(String),1042054827460460549(String),1042055394840739845(String),1042053620159414277(String),1042055977932881925(String),1042056636325363717(String),1042057187561766917(String),1042057444584521733(String),1042057716392198149(String),1042057992339652613(String),1041696565598814213(String),1046482887127531525(String),1046483028471382021(String),1046483172315037701(String),1046483314766184453(String),1046483450296729605(String),1046484282807353349(String),1046484561074257925(String),1046484718100611077(String),1046485677988052997(String),1046485983836700677(String),1046482585854869509(String),1046482740951842821(String),1046483607117561861(String),1046484124287827973(String),1046485340333998085(String),1046485507959357445(String),1046485833697394693(String),1046483772540911621(String),1046483945690169349(String),1046484421244551173(String),1046484872291614725(String),1046485023689211909(String),1046485183462834181(String),1041699216151478277(String),1042058998981001221(String),1042059232482099205(String),1042058696366161925(String),1041698661924536325(String),1041698938094288901(String),1042058393583550469(String),1046486500189077509(String),1046486636889833477(String),1046487092521271301(String),1046487243516215301(String),1046486940066709509(String),1046486346333618181(String),1046486791059865605(String),1041705105524719621(String),1041705359913451525(String),1042066462216486917(String),1042063546936131589(String),1042064358802391045(String),1042064830082777093(String),1042065068218580997(String),1042065363237535749(String),1042066192858284037(String),1042066958452981765(String),1041704786300436485(String),1046490374627065861(String),1046491187697090565(String),1046491535522332677(String),1046490608421765125(String),1046491986095439877(String),1046490894351663109(String),1046491032763695109(String),1046491352248025093(String),1046491719023132677(String),1046490756472307717(String),1041700564943175685(String),1041700854316597253(String),1041699710945132549(String),1042059682904211461(String),1042059944356151301(String),1042060463560654853(String),1042060683463819269(String),1042060977505501189(String),1042061239620141061(String),1042061548136366085(String),1042061812541095941(String),1042062106813464581(String),1042062860651528197(String),1042062579796738053(String),1046488818309595141(String),1046489115677360133(String),1046490143281840133(String),1046487908208541701(String),1046489853346381829(String),1046489999698231301(String),1046487767854546949(String),1046487598840872965(String),1046488064467337221(String),1046488371209371653(String),1046488523714265093(String),1046488678756712453(String),1046488974287372293(String),1046487457828372485(String),1096490244536205317(String),1097211728334356485(String),1097227820226248709(String),1097227481787858949(String),1097228196686004229(String),1097227041138475013(String),1097227637652389893(String),1097225809166532613(String),1097226118584532997(String),1097223357243523077(String),1097223747494150149(String),1097224925619617797(String),1097225125205573637(String),1097225579125735429(String),1097226522475036677(String),1097226354178588677(String),1097227216317775877(String),1097228919561715717(String),1097226847785254917(String),1097232384908263429(String),1097231725433651205(String),1097229137065738245(String),1097231934305796101(String),1097231559418904581(String),1097231374252965893(String),1097231209232269317(String),1097231027694403589(String),1097230869556559877(String),1097232125142433797(String),1101917446656425989(String),1101917850349797381(String),1101918330253672453(String),1101919942950977541(String),1101920756880834565(String),1101919552339640325(String),1101920268613517317(String),1101920536042340357(String),1101914238890475525(String),1101914779863416837(String),1101911496746795013(String),1101919237359992837(String),1101918797645938693(String),1101913899382538245(String),1101916515164422149(String),1101916902395150341(String),1101916133180768261(String)", EasySQLUtil.sqlParameterToString(jdbcExecuteAfterArg.getBeforeArg().getSqlParameters().get(0)));
            }
        }
    }


    @Test
    public void testaa1(){
        LogFactory.useStdOutLogging();
        ListenerContextManager listenerContextManager = new ListenerContextManager();
        MyJdbcListener myJdbcListener = new MyJdbcListener(listenerContextManager);
        {

            HikariDataSource dataSource = new HikariDataSource();
            dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3316/easy-query-test?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true");
            dataSource.setUsername("root");
            dataSource.setPassword("root");
            dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
            dataSource.setMaximumPoolSize(20);

            EasyQueryClient easyQueryClient = EasyQueryBootstrapper.defaultBuilderConfiguration()
                    .setDefaultDataSource(dataSource)
                    .optionConfigure(op -> {
                        op.setPrintSql(true);
                        op.setRelationGroupSize(512);
                    })
                    .replaceService(JdbcExecutorListener.class, myJdbcListener)
                    .useDatabaseConfigure(new MySQLDatabaseConfiguration())
//                .replaceService(BeanValueCaller.class, ReflectBeanValueCaller.class)
                    .build();
            DefaultEasyEntityQuery entityQuery = new DefaultEasyEntityQuery(easyQueryClient);
            DatabaseCodeFirst databaseCodeFirst = entityQuery.getDatabaseCodeFirst();
            databaseCodeFirst.createDatabaseIfNotExists();
            CodeFirstCommand codeFirstCommand = databaseCodeFirst.syncTableCommand(Arrays.asList(HelpEduSubjectEntity.class, HelpEduVideoEntity.class, HelpCategoryAndSubjectEntity.class));
            codeFirstCommand.executeWithTransaction(s->s.commit());
//
            ListenerContext listenerContext = new ListenerContext(true);
            listenerContextManager.startListen(listenerContext);
            List<HelpEduSubjectEntity> list = entityQuery.queryable(HelpEduSubjectEntity.class).includes(h -> h.helpEduVideoList())
                    .toList();
            for (HelpEduSubjectEntity helpEduSubjectEntity : list) {
                Integer firstOrder = null;
                for (HelpEduVideoEntity helpEduVideoEntity : helpEduSubjectEntity.getHelpEduVideoList()) {
                    if (firstOrder == null) {
                        firstOrder = helpEduVideoEntity.getOrderBy();
                    }
                    Assert.assertTrue(firstOrder <= helpEduVideoEntity.getOrderBy());
                    firstOrder = helpEduVideoEntity.getOrderBy();
                }
            }
            System.out.println("------------------");
            Assert.assertNotNull(listenerContext.getJdbcExecuteAfterArgs());
            Assert.assertEquals(3, listenerContext.getJdbcExecuteAfterArgs().size());

            {

                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(0);
//                    Assert.assertEquals("SELECT `id` FROM `school_class`", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("SELECT `id`,`create_time`,`update_time`,`create_by`,`update_by`,`deleted`,`delete_by`,`delete_time`,`name`,`order_by` FROM `help_edu_subject`", jdbcExecuteAfterArg.getBeforeArg().getSql());
            }
            {
                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(1);
                Assert.assertEquals("SELECT `subject_id`,`context_id` FROM `help_category_and_subject` WHERE `subject_id` IN (?,?,?)", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("1094971186229739525(String),1097211886191181829(String),1102206513981882373(String)", EasySQLUtil.sqlParameterToString(jdbcExecuteAfterArg.getBeforeArg().getSqlParameters().get(0)));
            }
            {
                JdbcExecuteAfterArg jdbcExecuteAfterArg = listenerContext.getJdbcExecuteAfterArgs().get(2);
                Assert.assertEquals("SELECT t.`id`,t.`create_time`,t.`update_time`,t.`create_by`,t.`update_by`,t.`deleted`,t.`delete_by`,t.`delete_time`,t.`order_by` FROM `help_edu_video` t WHERE (t.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) OR t.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) OR t.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) ORDER BY t.`order_by` ASC", jdbcExecuteAfterArg.getBeforeArg().getSql());
                Assert.assertEquals("1041712179839172613(String),1041712459616026629(String),1041712700574597125(String),1042076833434238981(String),1042076426825826309(String),1042078193902878725(String),1042078542562787333(String),1042078834196938757(String),1042079891790692357(String),1042080178869829637(String),1042103581941104645(String),1042103857787895813(String),1042104178551488517(String),1042104481942274053(String),1042104777674260485(String),1042106067624067077(String),1042105448410578949(String),1042105817425444869(String),1042106347551916037(String),1042106584953716741(String),1042107082222010373(String),1042106826876977157(String),1048218836505133061(String),1048218982177505285(String),1048213877042642949(String),1048216349438050309(String),1048217346461859845(String),1048217569166819333(String),1048220600608423941(String),1048216521488400389(String),1048217161979592709(String),1048220316519825413(String),1048218247406747653(String),1048214395383119877(String),1048220453921030149(String),1048214618868219909(String),1048213469142384645(String),1048214211207036933(String),1048219426387853317(String),1048219600631824389(String),1048219760371892229(String),1048219908577624069(String),1048220159233425413(String),1048221040997761029(String),1041742567370326021(String),1041711552635535365(String),1041742825051586565(String),1041711285483536389(String),1041711810505539589(String),1048213086265344005(String),1048212928450461701(String),1048212579190767621(String),1048212222679121925(String),1048212762842562565(String),1041753511538393093(String),1041710094468972549(String),1041710726894518277(String),1041754047956320261(String),1041755137573584901(String),1041755766345891845(String),1041756046227603461(String),1041755475252805637(String),1041754346720788485(String),1041754744303058949(String),1041710458849132549(String),1046503793673568261(String),1046503940419682309(String),1046504430486355973(String),1046505170520965125(String),1046505317522931717(String),1046504571247198213(String),1046504236269109253(String),1046504882909151237(String),1046505020541042693(String),1046504733986193413(String),1046504093868294149(String),1041709663378407429(String),1041709402639499269(String),1042073448685436933(String),1042073971530596357(String),1042074208303251461(String),1042072230080741381(String),1042072504790876165(String),1042073732904058885(String),1042074430072881157(String),1042073141372977157(String),1042075319919640581(String),1042074713972736005(String),1042074985302261765(String),1042075580390113285(String),1042072758839869445(String),1042071914631331845(String),1041709155464970245(String),1046502144913637381(String),1046502281975103493(String),1046501454380204037(String),1046502596673732613(String),1046500748264931333(String),1046503537326096389(String),1046500895476613125(String),1046501693874962437(String),1046501856626540549(String),1046502009873825797(String),1046501069531840517(String),1046502748528508933(String),1046502888731508741(String),1046503204310941701(String),1046503373584662533(String),1046502445968195589(String),1046503025218355205(String),1041708089625214981(String),1041708629360836613(String),1041708347197423621(String),1041769190261981189(String),1041770127483404293(String),1041768542271373317(String),1041769772917915653(String),1041770769845256197(String),1041769484270108677(String),1041770495973982213(String),1046500486439698437(String),1046499438513815557(String),1046499729057447941(String),1046499993806110725(String),1046499096946475013(String),1046499590423117829(String),1046500333129498629(String),1046500148307492869(String),1046499231533301765(String),1046499864210505733(String),1041707397544083461(String),1041707670618439685(String),1042071144942993413(String),1042067703394926597(String),1042068004977967109(String),1042068390052823045(String),1042068658446336005(String),1042068934892912645(String),1042069178611335173(String),1042070922724573189(String),1042069455976464389(String),1041707107126280197(String),1046497880266964997(String),1046496944572268549(String),1046497708044648453(String),1046493019555168261(String),1046497264480223237(String),1046497403877916677(String),1046498019673047045(String),1046498155337809925(String),1046498288343384069(String),1046497559465623557(String),1046498442052042757(String),1046497114496106501(String),1041034762954932229(String),1041048825671909381(String),1041049353126608901(String),1041065326302920709(String),1041039168937066501(String),1041041048048173061(String),1041041666947088389(String),1041061920783925253(String),1041062757283332101(String),1041063311237644293(String),1041064068171104261(String),1041064529817174021(String),1041065700430643205(String),1041064975432613893(String),1041053584525033477(String),1041063679765970949(String),1041031756842729477(String),1041050442341220357(String),1040961368473403397(String),1041751379003244549(String),1041751210882957317(String),1041750994385567749(String),1041750499105374213(String),1041750776361451525(String),1041766066432442373(String),1041764704739065861(String),1041765177986580485(String),1041765835682807813(String),1041757518449278981(String),1041766355956858885(String),1041766992652206085(String),1041767239356973061(String),1041768072970698757(String),1041767423516278789(String),1041767620749230085(String),1041764241121673221(String),1041767821534756869(String),1041766694315556869(String),1040250094034812933(String),1041070056152432645(String),1041069243619278853(String),1041067672881790981(String),1041071008506904581(String),1041068253767729157(String),1041070350403829765(String),1041071535433121797(String),1041071822310932485(String),1041076476260319237(String),1041076806171688965(String),1041069676102352901(String),1041067363841277957(String),1041077109533114373(String),1041078308462329861(String),1041078891294425093(String),1041080160440483845(String),1041080658388254725(String),1041081059204333573(String),1041081420606537733(String),1041081820357263365(String),1041082133734686725(String),1041082453604892677(String),1041077895986085893(String),1041077454619475973(String),1041311615762497541(String),1041312524324241413(String),1041312839459078149(String),1041313230951219205(String),1041313954372190213(String),1041314647602561029(String),1041315061286764549(String),1041315429844451333(String),1041315821286260741(String),1041348394838327301(String),1041314286959525893(String),1041316274770214917(String),1041328376914313221(String),1041328711061929989(String),1041329400685199365(String),1041330485709701125(String),1041330865998856197(String),1041331327909167109(String),1041331702724755461(String),1041345086652350469(String),1041345951186485253(String),1041347494921043973(String),1041347782998425605(String),1041348105225830405(String),1041349740949864453(String),1041350263845355525(String),1041068701220274181(String),1041310741497577477(String),1041066887284457477(String),1041311203735044101(String),1041312105548152837(String),1040247175210270725(String),1040248946414518277(String),1040249449147990021(String),1040249836038979589(String),1041752532675919877(String),1041751732138475525(String),1042399583961022469(String),1042168914295062533(String),1042169773108166661(String),1042398257411719173(String),1042167833716523013(String),1042399245287751685(String),1042399404629360645(String),1042399940644634629(String),1042398669216874501(String),1042399087951020037(String),1042398477289717765(String),1042399759538782213(String),1042400707594092549(String),1042400914809487365(String),1042401751652827141(String),1042401928161722373(String),1042402103273914373(String),1042402278755205125(String),1042402464382517253(String),1042402638639071237(String),1042402876779069445(String),1042403040319176709(String),1042403568356884485(String),1042404046977302533(String),1042404222022385669(String),1042403875061170181(String),1042404446136631301(String),1042404591901278213(String),1042404764090040325(String),1042404923326791685(String),1042405133104906245(String),1042405288998797317(String),1042405455072264197(String),1042406515790774277(String),1042411510799990789(String),1042411702269968389(String),1042411850043686917(String),1042411024403333125(String),1042412003240640517(String),1042412174326300677(String),1042415266102968325(String),1042405665290780677(String),1042406321930043397(String),1042406760419360773(String),1042411202719973381(String),1042411358521589765(String),1042413331136315397(String),1042415519715753989(String),1042413528943886341(String),1042413671629914117(String),1042415103099731973(String),1042166653057695749(String),1042168058338279429(String),1042403723151867909(String),1041354251370168325(String),1041382407229603845(String),1041381405998907397(String),1041383185583374341(String),1041381045909520389(String),1041381737298591749(String),1041383759703900165(String),1041382838123036677(String),1041383479457284101(String),1041382057030385669(String),1048200878810660869(String),1048201034532585477(String),1048204351732121605(String),1048204519877574661(String),1048205125702844421(String),1048205268216905733(String),1048200722606391301(String),1048200390925025285(String),1048199943799635973(String),1048200147596673029(String),1041385188199956485(String),1041386536131821573(String),1041385916331130885(String),1041386857952378885(String),1041387505074765829(String),1041388047960309765(String),1041388402492243973(String),1041387151620767749(String),1041389369598083077(String),1041743436031655941(String),1041745728076185605(String),1041743709550608389(String),1041744126145658885(String),1041744394933436421(String),1041744651083776005(String),1041744929489092613(String),1041746303178178565(String),1048206236295823365(String),1048207406351450117(String),1048207724153864197(String),1048207893951873029(String),1048208039854931973(String),1048208222953078789(String),1048211313970577413(String),1048207565550452741(String),1048208390796541957(String),1048209043799343109(String),1048209202738298885(String),1048209364420329477(String),1048210961514823685(String),1048211154863849477(String),1048211466320281605(String),1048211602026987525(String),1048207241175564293(String),1041679779503472645(String),1041680365942669317(String),1041677674633953285(String),1041747903544229893(String),1041748189570596869(String),1041748739661955077(String),1041749298339053573(String),1041748467086721029(String),1041747277959593989(String),1041747610442072069(String),1041749006281277445(String),1041749928159936517(String),1041679459545186309(String),1041680054129721349(String),1046390996709081093(String),1046391211499388933(String),1046391373764427781(String),1046389756885401605(String),1046390398194483205(String),1046390772724858885(String),1046390594844426245(String),1046391549455433733(String),1046391855782232069(String),1046391998338236421(String),1046392589340835845(String),1046391699590545413(String),1046392165766463493(String),1046392410499907589(String),1041685667610034181(String),1041684260010000389(String),1041685994585391109(String),1041685022530273285(String),1041775002099318789(String),1041777532787163141(String),1041772226329903109(String),1041773083297513477(String),1041775349492547589(String),1041778300852305925(String),1041776874541481989(String),1041774273649377285(String),1041777817458769925(String),1041778929033216005(String),1041782897457168389(String),1041785720223760389(String),1041773484604325893(String),1041773805929955333(String),1041776037974966277(String),1041776379689107461(String),1041772531901726725(String),1041772815256322053(String),1041775718226395141(String),1041782568925724677(String),1041783326047928325(String),1041784491259133957(String),1041785123483353093(String),1041785392908664837(String),1041786054019055621(String),1041778626808446981(String),1041784052019036165(String),1041783655724417029(String),1041784811230003205(String),1041786496748814341(String),1041786792153645061(String),1041787094818816005(String),1041787406426243077(String),1041787940335976453(String),1041788546555510789(String),1041794720487112709(String),1041795009218805765(String),1041795266996535301(String),1041795604952580101(String),1041795985946378245(String),1041797373157900293(String),1041797761386872837(String),1041799466237231109(String),1041799825999462405(String),1041800123170095109(String),1041806030457208837(String),1041806344258256901(String),1041685324792791045(String),1046399653240832005(String),1046400913620795397(String),1046401692331081733(String),1046407120968417285(String),1046407274119233541(String),1046407418034192389(String),1046408771376709637(String),1046399252777074693(String),1046399480708136965(String),1046400048419766277(String),1046400557784432645(String),1046399014637076485(String),1046400713279864837(String),1046399823663792133(String),1046400363072258053(String),1046401093971673093(String),1046401331134398469(String),1046401542699286533(String),1046403361764737029(String),1046404090889961477(String),1046404344540495877(String),1046404506746814469(String),1046408971369512965(String),1046402371984490501(String),1046402534589267973(String),1046402697663807493(String),1046402890077503493(String),1046403181543882757(String),1046404773131255813(String),1046404942690189317(String),1046401868269551621(String),1046402023223918597(String),1046402192422141957(String),1046403504547233797(String),1046403668473217029(String),1046403811352182789(String),1046403949902626821(String),1046405136525754373(String),1046405277953490949(String),1046405412800364549(String),1046405884441460741(String),1046406167053664261(String),1046409101116112901(String),1046409249649000453(String),1046405577938501637(String),1046405737007480837(String),1046406033234395141(String),1046406314932240389(String),1046406563054682117(String),1046409401415696389(String),1046398647593533445(String),1046398859636572165(String),1041683202030370821(String),1041681890278572037(String),1041682195779092485(String),1041683508080345093(String),1042036292663312389(String),1042036581000740869(String),1042036881417764869(String),1042037195109761029(String),1042037490220990469(String),1042037744190291973(String),1042038013930176517(String),1041682481809653765(String),1041682924749127685(String),1046395405656588293(String),1046395660208898053(String),1046395814446039045(String),1046395967001264133(String),1046396128922370053(String),1046396549564923909(String),1046396377233555461(String),1046396734890246149(String),1046396926637047813(String),1046397826034237445(String),1046395242540105733(String),1046393261998145541(String),1046393010314739717(String),1041686882657959941(String),1041687228046311429(String),1041690541777158149(String),1042149082359070725(String),1042149296230825989(String),1042150032134045701(String),1042150288083058693(String),1042150787612082181(String),1042151080387084293(String),1042152072943960069(String),1042151788138135557(String),1042149532038791173(String),1042154687446581253(String),1042156148142309381(String),1042150535983202309(String),1042151321324683269(String),1042153152968851461(String),1042153470360223749(String),1042153907700301829(String),1042149790508580869(String),1042152330612637701(String),1042152917899083781(String),1042155088749199365(String),1042155345100865541(String),1042152586091888645(String),1042154149845860357(String),1042154445493960709(String),1042155772047458309(String),1042156482893905925(String),1042156779854823429(String),1042157196626034693(String),1042157835087183877(String),1042158149659983877(String),1042158448667721733(String),1042158712401362949(String),1042158928701620229(String),1042159168385122309(String),1042159405854031877(String),1042159615451791365(String),1042159853419823109(String),1042161405710761989(String),1042160079975153669(String),1042161153645674501(String),1042162715491237893(String),1042160652719947781(String),1042160899739287557(String),1042161659722006533(String),1042161936185360389(String),1042162199860281349(String),1042162427409661957(String),1042151556717412357(String),1041686533008195589(String),1046419703809114117(String),1046412230683459589(String),1046410326469443589(String),1046410687468994565(String),1046410849805336581(String),1046410998422110213(String),1046411457144750085(String),1046412386552184837(String),1046410519545839621(String),1046411145101115397(String),1046411280514220037(String),1046409820959342597(String),1046411723797626885(String),1046410006871867397(String),1046411882979852293(String),1046412028580921349(String),1046412549375066117(String),1046412705818411013(String),1046412870465814533(String),1046413021246849029(String),1046413182840799237(String),1046413315724738565(String),1046413605123325957(String),1046413763252781061(String),1046413929372385285(String),1046414074327531525(String),1046414238932992005(String),1046414376392916997(String),1046415325811376133(String),1046415467092312069(String),1046415733090877445(String),1046419865608585221(String),1046420029266132997(String),1046420541533257733(String),1046420679467139077(String),1046421125028052997(String),1046421259505827845(String),1046414850403794949(String),1046419564713410565(String),1046421607314292741(String),1046415006872305669(String),1046420958577098757(String),1046421404741992453(String),1046415174522830853(String),1046415601993711621(String),1046420185076137989(String),1046420335165112325(String),1046415873981743109(String),1046416998445285381(String),1046417136723099653(String),1046419384542887941(String),1046414530860744709(String),1046414699589206021(String),1041692228495540229(String),1041691838408491013(String),1041691080812331013(String),1041692543273861125(String),1042136622113685509(String),1042137178039320581(String),1042137446307004421(String),1042139661570605061(String),1042135830010986501(String),1042136342466854917(String),1042139916013862917(String),1042140263600029701(String),1042140523407802373(String),1042141128201273349(String),1042141395378438149(String),1042141625100468229(String),1042136898996469765(String),1042140768707477509(String),1042141899391172613(String),1042142510346076165(String),1042142767800844293(String),1042143047611252741(String),1042143288225890309(String),1042143581852336133(String),1042143804020424709(String),1042144062607654917(String),1042144311451516933(String),1042144555627118597(String),1042144783600123909(String),1042145130603282437(String),1042145393703583749(String),1042145630350409733(String),1042146186729029637(String),1042147863007789061(String),1042146748145008645(String),1042147335284654085(String),1042148463892168709(String),1042147078849101829(String),1042147593947381765(String),1046425623993712645(String),1046467203031040005(String),1046469281904263173(String),1046469742279458821(String),1046452434450448389(String),1046465488345038853(String),1046422035292684293(String),1046422239102304261(String),1046421883827978245(String),1046425474609381381(String),1046426649110970373(String),1046426781504176133(String),1046423982879997957(String),1046424132297883653(String),1046425809189011461(String),1046425926348505093(String),1046426073107202053(String),1046426223716270085(String),1046426367702532101(String),1046426511541993477(String),1046466347669848069(String),1046466603614666757(String),1046466740898430981(String),1046466901187952645(String),1046467362385231877(String),1046467522171437061(String),1046467681479491589(String),1046468288693075973(String),1046468432410902533(String),1046468593883217925(String),1046467836098314245(String),1046467999814582277(String),1046468149190524933(String),1046468748007112709(String),1046469006330101765(String),1046469147267104773(String),1046469436141404165(String),1046469598238670853(String),1046469884306980869(String),1041694730305601541(String),1041695012875862021(String),1042124531315179525(String),1042125311212453893(String),1042124297377873925(String),1042124847729278981(String),1042125655963271173(String),1042127449141477381(String),1042127712111755269(String),1042128328250818565(String),1042128592387112965(String),1042128977214504965(String),1042129347894509573(String),1042129605659656197(String),1042129838984593413(String),1042130098230329349(String),1042130358860185605(String),1042130638771257349(String),1042130973346693125(String),1042131266335604741(String),1042131593654894597(String),1042131990222143493(String),1042132212344094725(String),1042132687701344261(String),1042133747887177733(String),1042133940674166789(String),1042134282916790277(String),1042134547761922053(String),1042134792604418053(String),1042135313239179269(String),1042135013526798341(String),1042124007299809285(String),1041693147454963717(String),1042128015166996485(String),1046474187843239941(String),1046471884809633797(String),1046474026656137221(String),1046471743755190277(String),1046473103024259077(String),1046473861052432389(String),1046473412333207557(String),1046472184475877381(String),1046472345822363653(String),1046472914775506949(String),1046473241704726533(String),1046473671524417541(String),1046472684218810373(String),1046475591936835589(String),1046475898460766213(String),1046476210043027461(String),1046476355396632581(String),1046475304471822341(String),1046470825512992773(String),1046470387216613381(String),1046474505188474885(String),1046474679377920005(String),1046474836471382021(String),1046476963222585349(String),1046474989097910277(String),1046475144949858309(String),1046475455160582149(String),1046475750242451461(String),1046476049967415301(String),1046476818972082181(String),1046476499026378757(String),1046476656082092037(String),1046472036572135429(String),1041696075590860805(String),1041695437154877445(String),1042116888848695301(String),1042107856788324357(String),1042108134480609285(String),1042108361597976581(String),1042108595065520133(String),1042108831624265733(String),1042109345153875973(String),1042109559763828741(String),1042110372879990789(String),1042110678078521349(String),1042111222675341317(String),1042111713765425157(String),1042112117920169989(String),1042112536759173125(String),1042112831031541765(String),1042113231977644037(String),1042113482943823877(String),1042113717325725701(String),1042114071840882693(String),1042114367027609605(String),1042115078301876229(String),1042115302906855429(String),1042115641299107845(String),1042115910397263877(String),1042120145918689285(String),1042114624163610629(String),1042114860684607493(String),1042116416620396549(String),1042119165718233093(String),1042119449517424645(String),1042119695161032709(String),1042119912644083717(String),1042121114077298693(String),1042121363869073413(String),1042116659499958277(String),1042117368685461509(String),1042117656884477957(String),1042117884438052869(String),1042118123215585285(String),1042118360856461317(String),1042118629073813509(String),1042118894166409221(String),1042120419617996805(String),1042120694932111365(String),1042121609021947909(String),1042121845618442245(String),1041695760086925317(String),1042109068875071493(String),1042109851548975109(String),1046512949524627461(String),1046507565296582661(String),1046507722280992773(String),1046508276277248005(String),1046508453465620485(String),1046509821454647301(String),1046510209763311621(String),1046511814411747333(String),1046511964077096965(String),1046512114535170053(String),1046512769593180165(String),1046507388561195013(String),1046510659405283333(String),1046511665933385733(String),1046507879215071237(String),1046513273375227909(String),1046516422248955909(String),1046517183213142021(String),1046746919059259397(String),1046747611912142853(String),1046751550925635589(String),1046752357339299845(String),1046752849918361605(String),1046753150696095749(String),1046753566091575301(String),1046753934556987397(String),1046513500731670533(String),1046514450800246789(String),1046514755206053893(String),1046516167252049925(String),1046517647178661893(String),1046747764920352773(String),1046748251103100933(String),1046748426714415109(String),1046748597946875909(String),1046754617804914693(String),1046516634161971205(String),1046516879360983045(String),1046517360133079045(String),1046517497660112901(String),1046747949679443973(String),1046748818047172613(String),1046749973263351813(String),1046752202137468933(String),1046752711032373253(String),1046753009247387653(String),1046753415348289541(String),1046753799848525829(String),1046754473013346309(String),1046754312165982213(String),1046517032604073989(String),1046508019506151429(String),1041697783633084421(String),1041698048910229509(String),1042039999631130629(String),1042039541374058501(String),1042044431718612997(String),1042045065381478405(String),1042040305307811845(String),1042040648380907525(String),1042041117786439685(String),1042044102100844549(String),1042044773998985221(String),1042046943150407685(String),1042047227977203717(String),1042048609182482437(String),1042048990054645765(String),1042050352008069125(String),1042050701116768261(String),1042045369619513349(String),1042048064585662469(String),1042048347315306501(String),1042039194043744261(String),1041697539356819461(String),1042051045284577285(String),1046478191088304133(String),1046478351205859333(String),1046479077583814661(String),1046479389300293637(String),1046479533424967685(String),1046479664408887301(String),1046479814401392645(String),1046479988653752325(String),1046480167297548293(String),1046480351154864133(String),1046478917638225925(String),1046480496701407237(String),1046480827405500421(String),1046481298446811141(String),1046481897733160965(String),1046480680248344581(String),1046482041971081221(String),1046481150224302085(String),1046481583428796421(String),1046481736499920901(String),1046479229245652997(String),1046480989385326597(String),1046478498769862661(String),1041696822487351301(String),1041697088829849605(String),1042052076953337861(String),1042052422463324165(String),1042055138258386949(String),1042055723485429765(String),1042052966300975109(String),1042051700028014597(String),1042053903757279237(String),1042052705419460613(String),1042053303804035077(String),1042054195764723717(String),1042054448643506181(String),1042054827460460549(String),1042055394840739845(String),1042053620159414277(String),1042055977932881925(String),1042056636325363717(String),1042057187561766917(String),1042057444584521733(String),1042057716392198149(String),1042057992339652613(String),1041696565598814213(String),1046482887127531525(String),1046483028471382021(String),1046483172315037701(String),1046483314766184453(String),1046483450296729605(String),1046484282807353349(String),1046484561074257925(String),1046484718100611077(String),1046485677988052997(String),1046485983836700677(String),1046482585854869509(String),1046482740951842821(String),1046483607117561861(String),1046484124287827973(String),1046485340333998085(String),1046485507959357445(String),1046485833697394693(String),1046483772540911621(String),1046483945690169349(String),1046484421244551173(String),1046484872291614725(String),1046485023689211909(String),1046485183462834181(String),1041699216151478277(String),1042058998981001221(String),1042059232482099205(String),1042058696366161925(String),1041698661924536325(String),1041698938094288901(String),1042058393583550469(String),1046486500189077509(String),1046486636889833477(String),1046487092521271301(String),1046487243516215301(String),1046486940066709509(String),1046486346333618181(String),1046486791059865605(String),1041705105524719621(String),1041705359913451525(String),1042066462216486917(String),1042063546936131589(String),1042064358802391045(String),1042064830082777093(String),1042065068218580997(String),1042065363237535749(String),1042066192858284037(String),1042066958452981765(String),1041704786300436485(String),1046490374627065861(String),1046491187697090565(String),1046491535522332677(String),1046490608421765125(String),1046491986095439877(String),1046490894351663109(String),1046491032763695109(String),1046491352248025093(String),1046491719023132677(String),1046490756472307717(String),1041700564943175685(String),1041700854316597253(String),1041699710945132549(String),1042059682904211461(String),1042059944356151301(String),1042060463560654853(String),1042060683463819269(String),1042060977505501189(String),1042061239620141061(String),1042061548136366085(String),1042061812541095941(String),1042062106813464581(String),1042062860651528197(String),1042062579796738053(String),1046488818309595141(String),1046489115677360133(String),1046490143281840133(String),1046487908208541701(String),1046489853346381829(String),1046489999698231301(String),1046487767854546949(String),1046487598840872965(String),1046488064467337221(String),1046488371209371653(String),1046488523714265093(String),1046488678756712453(String),1046488974287372293(String),1046487457828372485(String),1096490244536205317(String),1097211728334356485(String),1097227820226248709(String),1097227481787858949(String),1097228196686004229(String),1097227041138475013(String),1097227637652389893(String),1097225809166532613(String),1097226118584532997(String),1097223357243523077(String),1097223747494150149(String),1097224925619617797(String),1097225125205573637(String),1097225579125735429(String),1097226522475036677(String),1097226354178588677(String),1097227216317775877(String),1097228919561715717(String),1097226847785254917(String),1097232384908263429(String),1097231725433651205(String),1097229137065738245(String),1097231934305796101(String),1097231559418904581(String),1097231374252965893(String),1097231209232269317(String),1097231027694403589(String),1097230869556559877(String),1097232125142433797(String),1101917446656425989(String),1101917850349797381(String),1101918330253672453(String),1101919942950977541(String),1101920756880834565(String),1101919552339640325(String),1101920268613517317(String),1101920536042340357(String),1101914238890475525(String),1101914779863416837(String),1101911496746795013(String),1101919237359992837(String),1101918797645938693(String),1101913899382538245(String),1101916515164422149(String),1101916902395150341(String),1101916133180768261(String)", EasySQLUtil.sqlParameterToString(jdbcExecuteAfterArg.getBeforeArg().getSqlParameters().get(0)));
            }
        }
    }
}
